The anonymous salary survey has been conducting every year since 2015 among IT specialists in Europe with a stronger focus on Germany. This year, almost 1200 respondents volunteered to take part in the survey. Some part of the analysis will be reffered to the last year results Thanks to everyone, who responded. I hope you will enjoy the analysis below.
Compared to the last year, the number of respondents increases by a quarter. The median salary in 2020 remained almost the same as in 2019 - 70k. The line charts below from last year's analysis are extended with numbers from 2020 and represent a number of respondents along with their median annual salaries by years.
The original purpose of the current annual survey is to learn a competitive value of a skillset for IT specialists depending on years of experience, position, languages, etc. in Germany. This market value largely depends on numerous economic factors, which vary from country to country. In order to gain more accurate salary statistics, we'll avoid comparing the same skillset value across different economic markets. More than 91% of respondents are from 45 german cities. Below you will find a comparative analysis of the aggregated responses provided by participants only from Germany.
Most respondents (~60%) are between 28 and 35 years old - the same age range as last year. In 2017-2018 it was narrower (30-33 years).
The share of women among respondents grows by 0.5% per year since 2018. According to the collected data, the difference in median salaries of men and women is around 18%. (You can find out more about the pay gap in a survey by the Statistisches Bundesamt based on the employees' payrolls of approximately 60,000 companies randomly selected across Germany.)
Top cities by the number of respondents:
| City | Respondents |
|---|---|
| Berlin | 655 |
| Munich | 213 |
| Frankfurt | 43 |
| Hamburg | 40 |
| Stuttgart | 23 |
| Cologne | 20 |
Median annual salaries in Berlin and Munich are 70k and 72k respectively (same as last year).
Like last year, the survey showed that most IT professionals speak English at work. Unlike last year, in German consulting, employees mostly speak English rather than German. This holds true for other types of companies in Germany (product companies, startups).
~45% of respondents have 30 vacation days.
Freelancers make up less than 2 percent of respondents.
Respondents hold a wide variety of positions in IT, e.g. Agile Coaches, SAP Consultants, Researchers, Product Analysts, etc. In the table, you will find the Top positions mentioned by at least 5 respondents. Medians are counted separately for full-time employees including founders and freelancers (the last row in the table).
Based on 1038 answers from full-time employees and founders living in Germany, ~34% of them indicated Software Engineering as their main work activity, occupying various positions in a company from junior to head. ~13% - Backend Developers; 8% - Data Scientists; ~7% - Frontend Developers. Last year, a quarter of German respondents identified themselves as Backend Developers and less than 1% as Software Engineers.
For German employers, it is sometimes important that an IT specialist has relevant work experience in Germany. This year, respondents were asked about their work experience in Germany and in general. Below you will find a short analysis of how german experience influences salary medians.
Let's first take a look at the distributions of experience durations. 81% of respondents have total work experience of 5 years or more. 43% have less than 3 years of german experience.
Another important insight is the salary growth pace over total experience. Since the most common position among respondents is a full-time Software Engineer, the dependence of salary on total experience will be shown for this position as an example.
The graph above shows the median salaries of respondents with a particular work experience. During the first 10 years of experience, the median salary has experienced near exponential growth. 30% of respondents have more than 10 years of total experience, it's not enough to speculate about a solid salary trend. A point worth mentioning here - for people over 20 years of experience salary might not be of the utmost importance, as the chart goes down.
Finally, we will take a look at whether the german work experince is important in terms of salary.
The chart is biult on salaries data of Top-13 full-time tech positions. The height of the bars shows the total experience, blue/red colors reflect ratios of German and non-German experience of the respondents. The top line chart represents salary medians for respondents with a particular experience ratio. Despite the overall upword trend in salary medians, respondents with no or very little German work experience, in general, earn less than those with a significant share of German experience in the same total experience. This can be seen by salary medians' drops on the prevailing non-german experience bars and spikes corresponding to the prevailing German experience. Another finding on the chart is that the more experienced professionals without german experience generally get less rewarded than their less experienced colleagues who have already worked in Germany. The high-level inference might be that it's worth to differentiate between total and german experience when it comes to remuneration.
Both scatterplots are based on Top-13 full-time (+founders) dev&tech positions' salaries. The upper one shows bare salaries on total experience and seniority level without bonuses and stocks, the lower one - with. The overall medians for dev&tech positions (means Devs, Engineers, DevOps, Product Managers, Analysts, QA, etc.) is equal to 70k (same as last year).
The median salary without bonuses and stocks of all tech positions (means Devs, Engineers, DevOps, Product Managers, Analysts, QA, etc.) is 70k (same as last year); with bonuses and stocks - 72k. This median shift is mostly due to founders bonuses and shares, which are quite significant comparing to the regular positions.
For positions at different levels:
| Level | median w/o bonuses and stocks | median w/ bonuses and stocks |
|---|---|---|
| Junior | 50k | 50k |
| Middle | 60k | 63k |
| Senior | 72k | 75k |
| Lead | 85k | 90k |
| Principal/Head | 90k | 100k |
The most common programming languages among respondents are Python and Java (same as in 2019) followed by JavaScript and PHP. Many respondents use JavaScript together with TypeScript, which itself ranks 6th in popularity with 3,5%.
As a containerization tool, Docker is curently used more than Kubernetes. As a cloud solution AWS is more popular among respondents than Google Cloud and Azure.
31 the most popular technologies & programming languages were specified as the main technology. 31 box plots represent salary distributions of specialists in Berlin by technology.
For example, the median annual salary of Cloud Engineers and Spark specialists (light green and pink box plots respectively) are superior to salaries of professionals in other technologies. The annual salary of Java developer has a distribution centered around 70k/year with many deviations towards significantly higher salary values. The engineers using Python are being paid around 68k/year, the salary distribution stands out by the highest standard deviation, which tells about a wide span of salaries.
Among 1080 respondents who work in IT and live in Germany ~70% specified their last year's salary in the current survey. The above box plots compare annual salaries with bonuses and stocks and without in both years:
The insights of these dynamics over 2015 - 2019 period is described in the previous report here.
The brightest curve corresponds to 2020. The standard deviation is quite high due to a fairly wide sample of respondents. The distribution mode has shifted slightly to the right and kurtosis has become slightly higher compared to the last year. It means that the most common salary has became higher but the number of people receiving has decreased. The distribution is right-skewed.
| Annual salary threshold | Salaries 2020 | Salaries + Bonuses 2020 |
|---|---|---|
| >= 80k | ~28% | ~35% |
| >= 90k | ~15% | ~21% |
| >= 100k | ~7,5% (11% in 2019) | ~12% (17% in 2019) |
Traditionally, the focus is on most represented cities Berlin and Munich. In general, two distributions are almost aligned like last year. From the rug plot below, the left tail of Berlin's salary distribution is heavier, which implies more respondents with salary below average. The right tail of salary distribution in Munich is heavier than in Berlin. There are significantly fewer respondents from other cities so that its hard to derive statistical inferences. Nevetheless, the common annual salary in Hamburg as of 2020 is around 60k, in Stuttgart - 62k. Although the bell of salary distribution in Frankfurt is close to Berlin, the overall distribution is quite left-skewed, this tells about a few very high salaries alternating with many regular/below-average salaries.
The pattern persists from the last year and salaries in Berlin and Munich remain similar. The ratio of respondents from Berlin to Munich is 3:1. The Senior-level salary distributions have almost the same medians: 75k in Berlin and 75.8k in Munich. Their averages are around 78.5k in Berlin and 84k in Munich. 78.5% of Senior-level salaries are concentrated between 60–100k in Berlin. In Munich, there is 74% within that salary range and 15% of Seniors' salaries are above 100k.
According to the survey, ~30% of respondents switched to a shorter working week (Kurzarbeit) during the pandemic at the request of the employer. For half of them, this meant 0 working hours per week. Another half had from 8 to 30 working hours per week.
21% of respondents got supported by their employer. In most cases, it was one-time support within 500 and 1500 euro net. Sometimes it reached 2000-5000, the maximum reported sum is 10 000 euro.
Thanks to Viktor Shcherban for previous salary surveys and great datasets (2015, 2016, 2017, 2018) as well as publishing this analysis and great support along the process.
Thanks to Sergey Vasilyev for collaboration on survey questions and article review.
from IPython.display import HTML
html1 = '''<h5 align = "right"> Author: Ksenia Legostay    
<a href= "https://ksyula.github.io/Salary-report/" target="_blank">
<img src="github.png" width="45" height="45" align="right"/>
</a>
<a href= "https://www.linkedin.com/in/ksenialeg/" target="_blank">
<img src="linkedin.jpg" width="30" height="30" align="right"/>
</a>
</h5>'''
HTML(html1)